/* **********************************************************************************
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
* **********************************************************************************/

using System;
using System.Collections.Generic;
using System.Text;

namespace OfficeOpenXMLInterop
{
    #region Simple Types

    /// <summary>
    /// Preset camera types
    /// </summary>
    [Serializable]
    public enum ST_PresetCameraType
    {
        legacyObliqueTopLeft,
        legacyObliqueTop,
        legacyObliqueTopRight,
        legacyObliqueLeft,
        legacyObliqueFront,
        legacyObliqueRight,
        legacyObliqueBottomLeft,
        legacyObliqueBottom,
        legacyObliqueBottomRight,
        legacyPerspectiveTopLeft,
        legacyPerspectiveTop,
        legacyPerspectiveTopRight,
        legacyPerspectiveLeft,
        legacyPerspectiveFront,
        legacyPerspectiveRight,
        legacyPerspectiveBottomLeft,
        legacyPerspectiveBottom,
        legacyPerspectiveBottomRight,
        orthographicFront,
        isometricTopUp,
        isometricTopDown,
        isometricBottomUp,
        isometricBottomDown,
        isometricLeftUp,
        isometricLeftDown,
        isometricRightUp,
        isometricRightDown,
        isometricOffAxis1Left,
        isometricOffAxis1Right,
        isometricOffAxis1Top,
        isometricOffAxis2Left,
        isometricOffAxis2Right,
        isometricOffAxis2Top,
        isometricOffAxis3Left,
        isometricOffAxis3Right,
        isometricOffAxis3Bottom,
        isometricOffAxis4Left,
        isometricOffAxis4Right,
        isometricOffAxis4Bottom,
        obliqueTopLeft,
        obliqueTop,
        obliqueTopRight,
        obliqueLeft,
        obliqueRight,
        obliqueBottomLeft,
        obliqueBottom,
        obliqueBottomRight,
        perspectiveFront,
        perspectiveLeft,
        perspectiveRight,
        perspectiveAbove,
        perspectiveBelow,
        perspectiveAboveLeftFacing,
        perspectiveAboveRightFacing,
        perspectiveContrastingLeftFacing,
        perspectiveContrastingRightFacing,
        perspectiveHeroicLeftFacing,
        perspectiveHeroicRightFacing,
        perspectiveHeroicExtremeLeftFacing,
        perspectiveHeroicExtremeRightFacing,
        perspectiveRelaxed,
        perspectiveRelaxedModerately,
    }

    #endregion

    #region Complex Types

    /// <summary>
    /// Camera
    /// </summary>
    [Serializable]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = Namespaces.DrawingMLMain)]
    public class CT_Camera
    {
        public CT_Camera()
        {
            this.zoom = 100000;
        }

        public CT_SphereCoords rot;

        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ST_PresetCameraType prst;

        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int fov;

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fovSpecified;

        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(100000)]
        public int zoom;
    }

    #endregion
}
